﻿using System;

using SBPweb.Forge.Contracts.Logging;
using SBPweb.Forge.Contracts.Components;

using SBPweb.Communication.Shared.Library.Commands;
using SBPweb.Communication.Shared.Library.Configuration;
using SBPweb.Communication.Shared.Library.Connections;
using SBPweb.Communication.Shared.Library.Conversations;
using SBPweb.Communication.Shared.Library.Contacts;
using SBPweb.Communication.Shared.Library.Profiles;

namespace SBPweb.Communication.Shared.Library
{

    public interface IMessenger : IInitializable
    {

        ICommandManager Commands
        {
            get;
        }

        IConfigurationManager Configurations
        {
            get;
        }

        IConnectionManager Connections
        {
            get;
        }

        IContactManager Contacts
        {
            get;
        }

        IConversationManager Conversations
        {
            get;
        }

        IProfileManager Profiles
        {
            get;
        }

        ILogManager Logger
        {
            get;
        }

    }

}